package com.example.emos.wx.service;

import java.util.ArrayList;
import java.util.HashMap;

/**
 * @ClassName CheckinService
 * @Author zhangzhixi
 * @Description 检查业务的接口
 * @Date 2022/09/11 11:37
 * @Version 1.0
 */
public interface CheckinService {
    /**
     * 检查用户今天是否可以签到
     *
     * @param userId 用户ID
     * @param date   数据
     * @return 字符串数据，说明该用户是否可以签到
     */
    String validCanCheckIn(int userId, String date);

    /**
     * 执行人脸签到识别
     * @param param 参数
     */
    void checkin(HashMap param);

    /**
     * 创建人脸模型数据
     * @param userId 用户ID
     * @param path 照片路径
     */
    void createFaceModel(int userId, String path);

    /**
     * 查询当天签到是正常还是迟到，是疫情高风险还是低风险区域
     * @param userId 用户id
     * @return 签到数据
     */
    HashMap<String,Object> searchTodayCheckin(int userId);

    /**
     * 查询用户总的签到记录
     * @param userId 用户id
     * @return 签到天数
     */
    long searchCheckinDays(int userId);

    /**
     * 一周内用户的考勤情况
     * @param param 参数：用户id、开始时间、结束时间
     * @return 用户考勤情况
     */
    ArrayList<HashMap<String,Object>> searchWeekCheckin(HashMap<String,Object> param);


    /**
     * 一月内用户的考勤情况
     * @param param 参数：用户id、开始时间、结束时间
     * @return 用户考勤情况
     */
    ArrayList<HashMap<String, Object>> searchMonthCheckin(HashMap<String, Object> param);
}
